package equation;
/**
 *    Equation  : 一元二次方程的一个类
 */
public class Equation {
    private  int  a;
    private   int  b;
    private  int  c;

    private   boolean  flag;
    //********************************************
     public  int getA(){
         return  this.a;
     }
     public void setA(int a){
         this.a=a;
     }

    public int getB() {
        return b;
    }

    public void setB(int b) {
        this.b = b;
    }

    public int getC() {
        return c;
    }

    public void setC(int c) {
        this.c = c;
    }///////

    public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    //******************************************
    //构造函数
    public Equation(){
        //空参数构造函数可以省略。
    }

    public Equation(int a, int b) {
        this.a = a;
        this.b = b;
    }

    public Equation(int a, int b, int c) {
        this(a,b);
        this.c = c;
    }

    public Equation(int a, int b, int c, boolean flag) {
        this(a,b,c);        //
        this.flag = flag;
    }
    //********************************************************************
    /**
     * 可以计算方程的解，并显示到终端
     */
    public void calculate(){
        double delta = Math.sqrt(b*b-4*a*c) ;
        double x1 = (-b+delta)/2*a;
        double x2 =(-b-delta)/2*a;
        System.out.println("x1:"+x1);
        System.out.println("x2:"+x2);
    }
    //  int ...  : 可变参数  它可以接受任意多个 int 的数据
    /*   一个形参列表只能有一个 可变参数
         可变参数只能作为形参列表的 最后一个参数
     *
     * */
    public void sum( int... a){   // 可以把 a 认为是一个数组
        int sum =0;
        for(int e:a){
            sum += e;
        }
        System.out.println(sum);
    }
    public void  sum( float... a){
        float sum =0;
        for(float e:a){
            sum += e;
        }
        System.out.println(sum);

    }

    public void  sum(double... a ){
        double sum =0;
        for(double e:a){
            sum += e;
        }
        System.out.println(sum);
    }
    public void  sum(int s,double... a ){
        double sum =s;
        for(double e:a){
            sum += e;
        }
        System.out.println(sum);
    }

    protected void thisTest(int a){
        //   this.属性  this.a                                             super
        //   this.方法  this.calculate();
        //   this()  ,  调用本类的构造函数   //只能能出现在构造函数的内部  必须是代码的第一行
       System.out.println(this.a);
   }

}
/*
*      public   private   protected
*
*
* */
